package com.grace.dao;

import com.grace.beans.PageQuery;
import com.grace.model.SysAcl;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysAclMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(SysAcl record);

    int insertSelective(SysAcl record);

    SysAcl selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(SysAcl record);

    int updateByPrimaryKey(SysAcl record);

    /**
     * 判断当前权限模块下是否存在下相同的权限点
     */
    int countByNameAndAclModuleId(@Param("aclModuleId") int aclModuleId, @Param("name") String name, @Param("id") Integer id);

    /**
     * 根据权限模块的id计算该权限模块所拥有的的权限点的数量
     */
    int countByAclModuleId(int aclModuleId);

    /**
     * 查询分页结果
     */
    List<SysAcl> getPageByAclModuleId(@Param("aclModuleId") int aclModuleId, @Param("page") PageQuery page);

    /**
     * 查询角色所有信息
     */
    List<SysAcl> findAll();

    /**
     * 根据查出来的权限id列表查权限表信息表
     */
    List<SysAcl> getByAclIdList(@Param("aclIdList") List<Integer> aclIdList);

    /**
     * 获取权限url列表
     */
    List<SysAcl> getByUrl(String url);
}